잠시만 기다려 주세요

     '이태원 150명 넘게 죽은 핼러윈 참사.. 오세훈 탄핵.. 윤석열 탄핵.... 행안부 장관 이상민은 사람이냐... 말만 하면 책임 회피..'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (16)  |  여러가지 팁 (1054)  |  추천 및 재미 (150)  |  자료실 (22)  |  
시사, 이슈, 칼럼, 평론, 비평 (582)  |  끄적거림 (127)  |  문예 창작 (702)  |  바람 따라 (69)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    postgresql

postgresql - postgresql vacuumdb, psql, pg_dump 패스워드 password 없이 crontab 으로 자동실행하기, pgpass
이 름 : 바다아이   |   조회수 : 10245         짧은 주소 : https://www.bada-ie.com/su/?791591822762
postgresql 패스워드 없이 vacuumdb, psql, pg_dump 실행하려면
.pgpass 파일을 유저 루트 디렉토리에 만들어서 아래와 같은 규격으로 값을 입력해 놓으시면 됩니다.
그리고 보안상 반드시 권한을 chmod 0600 .pgpass 로 만드셔야 합니다.
hostname:port:database:username:password

vi .pgpass

localhost:5432:디비명:유저명:패스워드

이 작업에서 중요한 것은 특정 명령, 아래처럼 vacuumdb 를 crontab 으로 자동실행 한다고 보면
실제 이 명령어를 실행하는 유저의 홈 디렉토리에 .pgpass 가 만들어져야 한다는 것입니다.
-U postgres 가 아닌 실제 실행하는 유저의 홈 디렉토리 입니다. -U postgres 는 그저 postgresql 에 접근 관련 유저입니다.


이제 vacuumdb 를 crontab 에 등록한다고 한다면

vi /etc/crontab

51      03      *       *       5       root    /usr/local/bin/vacuumdb -U postgres -d 디비명 -f

여기서 매우 중요한 포인트는 절대경로... /usr/local/bin/vacuumdb 이 부분입니다.
절대 그냥 vacuumdb 하시면 안됩니다. freebsd 기준으로 해당 위치고요..
리눅스는 버전별 경로가 다릅니다.

find / -name vacuumdb 요렇게 해서 경로를 찾아서 그 경로를 쓰시면 됩니다.

이렇게 하면 매주 금요일 오전 3시 51분에 root가 vaccumdb 를 실행하게 됩니다.
패스워드는 root 홈 디렉토리의 .pgpass 에서 가져와 자동으로 입력하게 됩니다.
나머지 psql 이나 pg_dump 도 .pgpass 를 따르게 됩니다.

이게 postgresql 에서 자동화 관련 굉장히 편리한 기능입니다. 자동으로 백업도 가능하겠죠.. pg_dump 로...
혼동 하시면 안됩니다.  실행자의 홈 디렉토리에 .pgpass 가 있어야 한다는 게 핵심입니다.

p.s
.pgpass 정보가 안 맞으면 패스워드 입력 창이 열리겠죠... 이러면 자동화에 문제가 생깁니다. ^^;
정확한 정보를 입력하시고 crontab 올리기 전에 해당 유저명으로 테스트 실행해서
패스워드 입력 없이 그냥 실행되면 잘 적용이 되는 것입니다.

예를 들어)
root 홈에 있는 .pgpass 파일 내용이 아래와 같다고 봅시다.
localhost:5432:디비명:postgres:암호

root 로 로그인 하시고...

psql -U postgres -d 디비명

해서 그냥 통과되면 설정이 잘된 것이고 그게 아니고 패스워드 창 뜨면 그럼 설정이 문제있는 겁니다.

 
| |





      1 page / 2 page
번 호 카테고리 제 목 이름 조회수
45 postgresql postgresql ... postgresql 14 .. postgresql.conf port 5432 .. 바다아이 673
44 postgresql , count(*) .... 바다아이 6852
43 postgresql How to do an update + join in PostgreSQL?, 바다아이 6083
42 postgresql sequence(퀀) 바다아이 7716
41 postgresql , , , index create, , 바다아이 8098
40 postgresql postgresql log_timezone .... 바다아이 6501
39 postgresql postgresql SEQUENCE reset .... 바다아이 8337
38 postgresql [PostgreSql] WITH , , Operator 바다아이 7730
37 postgresql postgresql for, foreach , 바다아이 9284
36 postgresql postgresql , , into ... 바다아이 9282
35 postgresql postgresql PL/pgSQL - SQL Procedural Language, , 바다아이 10696
34 postgresql postgresql ... .. , , 바다아이 11711
33 postgresql postgresql CSV export/import 바다아이 8514
32 postgresql postgresql tablespace , .... 바다아이 12836
31 postgresql postgresql 10 partitioning, ... , ... 바다아이 9253
30 postgresql Using PostgreSQL Arrays, ... ... 바다아이 9221
29 postgresql PostgreSQL (TRIGGER) (function) 바다아이 8983
28 postgresql Optimize and Improve PostgreSQL Performance with VACUUM, ANALYZE, and REINDEX 바다아이 9632
27 postgresql postgresql tuple . vacuumdb .. , . 바다아이 9029
26 postgresql postgresql , .. 바다아이 9224
25 postgresql postgresql , size, 바다아이 11223
24 postgresql postgresql , , .... 바다아이 8271
23 postgresql PostgreSQL Replication, , , master, slave 바다아이 10770
22 postgresql postgresql case 바다아이 8138
21 postgresql postgresql with 바다아이 8575
20 postgresql postgresql , , string 바다아이 11481
19 postgresql Postgresql partitioning table , , , 바다아이 9072
18 postgresql PostgreSQL 바다아이 10561
현재글 postgresql postgresql vacuumdb, psql, pg_dump password crontab , pgpass 바다아이 10246
16 postgresql postgresql sequence 퀀 auto_increment . 바다아이 9665
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.05671
to webmaster... gogo sea. gogo sea.